| Class | WinkelController |
| In: |
app/controllers/winkel_controller.rb
|
| Parent: | ApplicationController |
Deze controller bevat de belangrijkste methodes voor de werking van de winkel.
ingeven van klantgegevens:
# File app/controllers/winkel_controller.rb, line 36
36: def aankoop_stap1
37: if @kar.items.empty?
38: redirect_to_index('Uw winkelkar is leeg')
39: else
40: @klant = Klant.new
41: end
42: end
ingeven van ordergegevens:
# File app/controllers/winkel_controller.rb, line 45
45: def aankoop_stap2
46: @order = Order.new
47: end
# File app/controllers/winkel_controller.rb, line 49
49: def bewaar_klant
50: @klant= Klant.new(params[:klant])
51: if @klant.save
52: flash[:notice] = 'Uw gegevens zijn bewaard.'
53: session[:klant] = @klant # stockeer klant in session, id is nodig in order
54: redirect_to :action => :aankoop_stap2
55: else
56: render :action => :aankoop_stap1
57: end
58: end
# File app/controllers/winkel_controller.rb, line 60
60: def bewaar_order
61: @order = Order.new(params[:order])
62: @order.klant = session[:klant] # hier wordt klant_id door belongs_to ingevuld
63: @order.toevoegen_orderlijnen_vanuit_kar(@kar)
64: if @order.save
65: session[:klant] = session[:kar] = nil # opkuis session
66: redirect_to_index("ITMedia dankt u voor uw bestelling!")
67: else
68: render :action => :aankoop_stap2
69: end
70: end
after_filter :copyright <— werkt wel, maar dan werkt AJAX niet meer!
# File app/controllers/winkel_controller.rb, line 9
9: def index
10: @products = Product.find_producten_voor_verkoop
11: end
# File app/controllers/winkel_controller.rb, line 30
30: def leegmaken_kar
31: session[:kar] = nil
32: redirect_to_index('Uw winkelkar is leeg')
33: end
# File app/controllers/winkel_controller.rb, line 13
13: def toevoegen_aan_kar
14: begin
15: product = Product.find(params[:id])
16: rescue ActiveRecord::RecordNotFound
17: error = "U probeert een niet bestaand product #{params[:id]} op te halen"
18: logger.error(error)
19: redirect_to_index(error)
20: else
21: @kar.voeg_product_toe(product)
22: if request.xhr? # AJAX-request
23: respond_to { |format| format.js }
24: else
25: redirect_to :action => :index
26: end
27: end
28: end